拯救黑苹果

由于穷的缘故,我一直使用 Hackintosh 作为我的主力开发机,当然,我一直以攒够钱就去买 macbook 为目标 ,然而这个目标更像是一个 flag , 毕竟由于疫情原因,公司的生意确实没啥起色。而两周前,在完美升级完了 10.15.4 后,这台机子突然就睡死了,睡死之后就再也无法唤醒。于是开始了持续两周黑苹果拯救计划。

​ 第一天和第二天都在尝试使用 OpenCore 和 Clover 来重新安装,耗费了我好多时间。看着报错一堆 “Apple nvme assert error” ,还以为是兼容性啥的出了问题,搜了几乎全网的解决方案,都没能搞定。然后同事叫我用 PE 进行看看磁盘,于是我顺手做了个 wepe 的盘拿来启动了我的电脑。用 diskgeniues 查看了一下磁盘,感觉没啥问题,然后又死不悔改的折腾了一天 ,直到我发现 nvme 盘的 efi 区虽然可读,但是却根本不能写之后,才确定了应该是磁盘主控啥的出了问题。

好在浦科特的售后还是挺好的,维修总部似乎外包了给建兴来着,直接顺丰到付寄过去,经过了三天毫无音讯的等待,给我寄回了一条今年 3 月产的全新件,赚了赚了。而数据方面,因为一直都用公司的 nas 来做 timeMachine 所以也没啥损失的(苹果牛逼)。

硬盘寄回来之后,我又不死心的折腾了一天 OC , 然后在 pci 设备上栽了,因为 OC 的配置里需要你填好你 PCI 的所有硬件地址以及硬件名称与类型,然后我死活没办法把显卡给驱动起来,于是作罢。用 Clover 安装好然后用 TimeMachine 还原后,却一直没办法进入桌面,又折腾了一天,第二天早上灵光一闪,进 Recovery , 挂载系统盘, 进入 /Library/Extensions 文件夹,果然, 老版本的 Liui , whatevergreen 以及 AppleALC 都还在,而且因为非官方 kext 的缘故没办法在没有解锁的情况下建立 kextcache ,于是无法驱动进入桌面。于是我删掉了这几个 kext , 因为现在的 kext 都是放在 efi 里面加载了的 , 然后在磁盘目录下 输入: kextcache -i / 重建了官方缓存。关机重启,进入了桌面,时隔两周,终于搞定了。

然而问题又来了,蓝牙挂了,一直找不到设备,明明几个挂起蓝牙的 kext 都已经加载好了啊。 于是又开始了爬资料、尝试修复、失败、重复爬资料的过程。最后我的目光落在了 USBPort.kext 上,这玩意我似乎以前都没见过啊,然后查了一下,这玩意是拿来定制黑苹果 USB 接口的,去除多余的接口并且开启 USB3 等等 。 这 USBPort.kext 是我从远景上同主板的帖子里扒下来的,也没想多少直接就用了。回忆了一下 , 蓝牙那几个 Brcmbluetooth 的 kext 的原理似乎是创建一个虚拟的 usb hub , 然后把蓝牙设备挂载在 usb hub 上 。 于是我去掉了 USBPort.kext ,并换上了 USBjinectAll.kext 开启了所有 USB 口,终于,蓝牙也修好了,我又开始愉悦地使用起了 Magic TrackPad 。而之后如果想要定制 USB 的话,感觉得花好多时间,到时候再说吧。

修复这台玩意大概花了我两周时间,不过想了想我朋友的 Macbook Pro 18 上次坏也是坏了硬盘….也许苹果对硬盘的处理确实不大好。期间我甚至有 “算了直接用 windows + wsl ” 的想法,不过到最后终于还是把我这台黑果修复好了,可喜可贺,可喜可贺。